package www.woniuxy.com.class112.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class SpecialAgentsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SpecialAgentsExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Long value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Long value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Long value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Long value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Long> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Long> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Long value1, Long value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Long value1, Long value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("`name` is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("`name` is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("`name` =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("`name` <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("`name` >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("`name` >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("`name` <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("`name` <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("`name` like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("`name` not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("`name` in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("`name` not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("`name` between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("`name` not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andIntroductionIsNull() {
            addCriterion("introduction is null");
            return (Criteria) this;
        }

        public Criteria andIntroductionIsNotNull() {
            addCriterion("introduction is not null");
            return (Criteria) this;
        }

        public Criteria andIntroductionEqualTo(String value) {
            addCriterion("introduction =", value, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionNotEqualTo(String value) {
            addCriterion("introduction <>", value, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionGreaterThan(String value) {
            addCriterion("introduction >", value, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionGreaterThanOrEqualTo(String value) {
            addCriterion("introduction >=", value, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionLessThan(String value) {
            addCriterion("introduction <", value, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionLessThanOrEqualTo(String value) {
            addCriterion("introduction <=", value, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionLike(String value) {
            addCriterion("introduction like", value, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionNotLike(String value) {
            addCriterion("introduction not like", value, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionIn(List<String> values) {
            addCriterion("introduction in", values, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionNotIn(List<String> values) {
            addCriterion("introduction not in", values, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionBetween(String value1, String value2) {
            addCriterion("introduction between", value1, value2, "introduction");
            return (Criteria) this;
        }

        public Criteria andIntroductionNotBetween(String value1, String value2) {
            addCriterion("introduction not between", value1, value2, "introduction");
            return (Criteria) this;
        }

        public Criteria andIdNumberIsNull() {
            addCriterion("id_number is null");
            return (Criteria) this;
        }

        public Criteria andIdNumberIsNotNull() {
            addCriterion("id_number is not null");
            return (Criteria) this;
        }

        public Criteria andIdNumberEqualTo(String value) {
            addCriterion("id_number =", value, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberNotEqualTo(String value) {
            addCriterion("id_number <>", value, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberGreaterThan(String value) {
            addCriterion("id_number >", value, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberGreaterThanOrEqualTo(String value) {
            addCriterion("id_number >=", value, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberLessThan(String value) {
            addCriterion("id_number <", value, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberLessThanOrEqualTo(String value) {
            addCriterion("id_number <=", value, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberLike(String value) {
            addCriterion("id_number like", value, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberNotLike(String value) {
            addCriterion("id_number not like", value, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberIn(List<String> values) {
            addCriterion("id_number in", values, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberNotIn(List<String> values) {
            addCriterion("id_number not in", values, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberBetween(String value1, String value2) {
            addCriterion("id_number between", value1, value2, "idNumber");
            return (Criteria) this;
        }

        public Criteria andIdNumberNotBetween(String value1, String value2) {
            addCriterion("id_number not between", value1, value2, "idNumber");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceIsNull() {
            addCriterion("local_place is null");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceIsNotNull() {
            addCriterion("local_place is not null");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceEqualTo(String value) {
            addCriterion("local_place =", value, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceNotEqualTo(String value) {
            addCriterion("local_place <>", value, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceGreaterThan(String value) {
            addCriterion("local_place >", value, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceGreaterThanOrEqualTo(String value) {
            addCriterion("local_place >=", value, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceLessThan(String value) {
            addCriterion("local_place <", value, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceLessThanOrEqualTo(String value) {
            addCriterion("local_place <=", value, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceLike(String value) {
            addCriterion("local_place like", value, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceNotLike(String value) {
            addCriterion("local_place not like", value, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceIn(List<String> values) {
            addCriterion("local_place in", values, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceNotIn(List<String> values) {
            addCriterion("local_place not in", values, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceBetween(String value1, String value2) {
            addCriterion("local_place between", value1, value2, "localPlace");
            return (Criteria) this;
        }

        public Criteria andLocalPlaceNotBetween(String value1, String value2) {
            addCriterion("local_place not between", value1, value2, "localPlace");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressIsNull() {
            addCriterion("application_address is null");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressIsNotNull() {
            addCriterion("application_address is not null");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressEqualTo(String value) {
            addCriterion("application_address =", value, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressNotEqualTo(String value) {
            addCriterion("application_address <>", value, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressGreaterThan(String value) {
            addCriterion("application_address >", value, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressGreaterThanOrEqualTo(String value) {
            addCriterion("application_address >=", value, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressLessThan(String value) {
            addCriterion("application_address <", value, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressLessThanOrEqualTo(String value) {
            addCriterion("application_address <=", value, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressLike(String value) {
            addCriterion("application_address like", value, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressNotLike(String value) {
            addCriterion("application_address not like", value, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressIn(List<String> values) {
            addCriterion("application_address in", values, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressNotIn(List<String> values) {
            addCriterion("application_address not in", values, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressBetween(String value1, String value2) {
            addCriterion("application_address between", value1, value2, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andApplicationAddressNotBetween(String value1, String value2) {
            addCriterion("application_address not between", value1, value2, "applicationAddress");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleIsNull() {
            addCriterion("technica_title is null");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleIsNotNull() {
            addCriterion("technica_title is not null");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleEqualTo(String value) {
            addCriterion("technica_title =", value, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleNotEqualTo(String value) {
            addCriterion("technica_title <>", value, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleGreaterThan(String value) {
            addCriterion("technica_title >", value, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleGreaterThanOrEqualTo(String value) {
            addCriterion("technica_title >=", value, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleLessThan(String value) {
            addCriterion("technica_title <", value, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleLessThanOrEqualTo(String value) {
            addCriterion("technica_title <=", value, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleLike(String value) {
            addCriterion("technica_title like", value, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleNotLike(String value) {
            addCriterion("technica_title not like", value, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleIn(List<String> values) {
            addCriterion("technica_title in", values, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleNotIn(List<String> values) {
            addCriterion("technica_title not in", values, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleBetween(String value1, String value2) {
            addCriterion("technica_title between", value1, value2, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andTechnicaTitleNotBetween(String value1, String value2) {
            addCriterion("technica_title not between", value1, value2, "technicaTitle");
            return (Criteria) this;
        }

        public Criteria andEducationIsNull() {
            addCriterion("education is null");
            return (Criteria) this;
        }

        public Criteria andEducationIsNotNull() {
            addCriterion("education is not null");
            return (Criteria) this;
        }

        public Criteria andEducationEqualTo(String value) {
            addCriterion("education =", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationNotEqualTo(String value) {
            addCriterion("education <>", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationGreaterThan(String value) {
            addCriterion("education >", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationGreaterThanOrEqualTo(String value) {
            addCriterion("education >=", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationLessThan(String value) {
            addCriterion("education <", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationLessThanOrEqualTo(String value) {
            addCriterion("education <=", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationLike(String value) {
            addCriterion("education like", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationNotLike(String value) {
            addCriterion("education not like", value, "education");
            return (Criteria) this;
        }

        public Criteria andEducationIn(List<String> values) {
            addCriterion("education in", values, "education");
            return (Criteria) this;
        }

        public Criteria andEducationNotIn(List<String> values) {
            addCriterion("education not in", values, "education");
            return (Criteria) this;
        }

        public Criteria andEducationBetween(String value1, String value2) {
            addCriterion("education between", value1, value2, "education");
            return (Criteria) this;
        }

        public Criteria andEducationNotBetween(String value1, String value2) {
            addCriterion("education not between", value1, value2, "education");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIsNull() {
            addCriterion("work_unit is null");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIsNotNull() {
            addCriterion("work_unit is not null");
            return (Criteria) this;
        }

        public Criteria andWorkUnitEqualTo(String value) {
            addCriterion("work_unit =", value, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNotEqualTo(String value) {
            addCriterion("work_unit <>", value, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitGreaterThan(String value) {
            addCriterion("work_unit >", value, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitGreaterThanOrEqualTo(String value) {
            addCriterion("work_unit >=", value, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitLessThan(String value) {
            addCriterion("work_unit <", value, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitLessThanOrEqualTo(String value) {
            addCriterion("work_unit <=", value, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitLike(String value) {
            addCriterion("work_unit like", value, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNotLike(String value) {
            addCriterion("work_unit not like", value, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitIn(List<String> values) {
            addCriterion("work_unit in", values, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNotIn(List<String> values) {
            addCriterion("work_unit not in", values, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitBetween(String value1, String value2) {
            addCriterion("work_unit between", value1, value2, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkUnitNotBetween(String value1, String value2) {
            addCriterion("work_unit not between", value1, value2, "workUnit");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentIsNull() {
            addCriterion("work_department is null");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentIsNotNull() {
            addCriterion("work_department is not null");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentEqualTo(String value) {
            addCriterion("work_department =", value, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentNotEqualTo(String value) {
            addCriterion("work_department <>", value, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentGreaterThan(String value) {
            addCriterion("work_department >", value, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion("work_department >=", value, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentLessThan(String value) {
            addCriterion("work_department <", value, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentLessThanOrEqualTo(String value) {
            addCriterion("work_department <=", value, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentLike(String value) {
            addCriterion("work_department like", value, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentNotLike(String value) {
            addCriterion("work_department not like", value, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentIn(List<String> values) {
            addCriterion("work_department in", values, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentNotIn(List<String> values) {
            addCriterion("work_department not in", values, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentBetween(String value1, String value2) {
            addCriterion("work_department between", value1, value2, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andWorkDepartmentNotBetween(String value1, String value2) {
            addCriterion("work_department not between", value1, value2, "workDepartment");
            return (Criteria) this;
        }

        public Criteria andJobTitleIsNull() {
            addCriterion("job_title is null");
            return (Criteria) this;
        }

        public Criteria andJobTitleIsNotNull() {
            addCriterion("job_title is not null");
            return (Criteria) this;
        }

        public Criteria andJobTitleEqualTo(String value) {
            addCriterion("job_title =", value, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleNotEqualTo(String value) {
            addCriterion("job_title <>", value, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleGreaterThan(String value) {
            addCriterion("job_title >", value, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleGreaterThanOrEqualTo(String value) {
            addCriterion("job_title >=", value, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleLessThan(String value) {
            addCriterion("job_title <", value, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleLessThanOrEqualTo(String value) {
            addCriterion("job_title <=", value, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleLike(String value) {
            addCriterion("job_title like", value, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleNotLike(String value) {
            addCriterion("job_title not like", value, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleIn(List<String> values) {
            addCriterion("job_title in", values, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleNotIn(List<String> values) {
            addCriterion("job_title not in", values, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleBetween(String value1, String value2) {
            addCriterion("job_title between", value1, value2, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andJobTitleNotBetween(String value1, String value2) {
            addCriterion("job_title not between", value1, value2, "jobTitle");
            return (Criteria) this;
        }

        public Criteria andBirthdayIsNull() {
            addCriterion("birthday is null");
            return (Criteria) this;
        }

        public Criteria andBirthdayIsNotNull() {
            addCriterion("birthday is not null");
            return (Criteria) this;
        }

        public Criteria andBirthdayEqualTo(String value) {
            addCriterion("birthday =", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotEqualTo(String value) {
            addCriterion("birthday <>", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayGreaterThan(String value) {
            addCriterion("birthday >", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayGreaterThanOrEqualTo(String value) {
            addCriterion("birthday >=", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLessThan(String value) {
            addCriterion("birthday <", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLessThanOrEqualTo(String value) {
            addCriterion("birthday <=", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayLike(String value) {
            addCriterion("birthday like", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotLike(String value) {
            addCriterion("birthday not like", value, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayIn(List<String> values) {
            addCriterion("birthday in", values, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotIn(List<String> values) {
            addCriterion("birthday not in", values, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayBetween(String value1, String value2) {
            addCriterion("birthday between", value1, value2, "birthday");
            return (Criteria) this;
        }

        public Criteria andBirthdayNotBetween(String value1, String value2) {
            addCriterion("birthday not between", value1, value2, "birthday");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeIsNull() {
            addCriterion("first_work_time is null");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeIsNotNull() {
            addCriterion("first_work_time is not null");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeEqualTo(Date value) {
            addCriterionForJDBCDate("first_work_time =", value, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("first_work_time <>", value, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("first_work_time >", value, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("first_work_time >=", value, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeLessThan(Date value) {
            addCriterionForJDBCDate("first_work_time <", value, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("first_work_time <=", value, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeIn(List<Date> values) {
            addCriterionForJDBCDate("first_work_time in", values, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("first_work_time not in", values, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("first_work_time between", value1, value2, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andFirstWorkTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("first_work_time not between", value1, value2, "firstWorkTime");
            return (Criteria) this;
        }

        public Criteria andMajorIsNull() {
            addCriterion("major is null");
            return (Criteria) this;
        }

        public Criteria andMajorIsNotNull() {
            addCriterion("major is not null");
            return (Criteria) this;
        }

        public Criteria andMajorEqualTo(String value) {
            addCriterion("major =", value, "major");
            return (Criteria) this;
        }

        public Criteria andMajorNotEqualTo(String value) {
            addCriterion("major <>", value, "major");
            return (Criteria) this;
        }

        public Criteria andMajorGreaterThan(String value) {
            addCriterion("major >", value, "major");
            return (Criteria) this;
        }

        public Criteria andMajorGreaterThanOrEqualTo(String value) {
            addCriterion("major >=", value, "major");
            return (Criteria) this;
        }

        public Criteria andMajorLessThan(String value) {
            addCriterion("major <", value, "major");
            return (Criteria) this;
        }

        public Criteria andMajorLessThanOrEqualTo(String value) {
            addCriterion("major <=", value, "major");
            return (Criteria) this;
        }

        public Criteria andMajorLike(String value) {
            addCriterion("major like", value, "major");
            return (Criteria) this;
        }

        public Criteria andMajorNotLike(String value) {
            addCriterion("major not like", value, "major");
            return (Criteria) this;
        }

        public Criteria andMajorIn(List<String> values) {
            addCriterion("major in", values, "major");
            return (Criteria) this;
        }

        public Criteria andMajorNotIn(List<String> values) {
            addCriterion("major not in", values, "major");
            return (Criteria) this;
        }

        public Criteria andMajorBetween(String value1, String value2) {
            addCriterion("major between", value1, value2, "major");
            return (Criteria) this;
        }

        public Criteria andMajorNotBetween(String value1, String value2) {
            addCriterion("major not between", value1, value2, "major");
            return (Criteria) this;
        }

        public Criteria andSpecialtyIsNull() {
            addCriterion("specialty is null");
            return (Criteria) this;
        }

        public Criteria andSpecialtyIsNotNull() {
            addCriterion("specialty is not null");
            return (Criteria) this;
        }

        public Criteria andSpecialtyEqualTo(String value) {
            addCriterion("specialty =", value, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyNotEqualTo(String value) {
            addCriterion("specialty <>", value, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyGreaterThan(String value) {
            addCriterion("specialty >", value, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyGreaterThanOrEqualTo(String value) {
            addCriterion("specialty >=", value, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyLessThan(String value) {
            addCriterion("specialty <", value, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyLessThanOrEqualTo(String value) {
            addCriterion("specialty <=", value, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyLike(String value) {
            addCriterion("specialty like", value, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyNotLike(String value) {
            addCriterion("specialty not like", value, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyIn(List<String> values) {
            addCriterion("specialty in", values, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyNotIn(List<String> values) {
            addCriterion("specialty not in", values, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyBetween(String value1, String value2) {
            addCriterion("specialty between", value1, value2, "specialty");
            return (Criteria) this;
        }

        public Criteria andSpecialtyNotBetween(String value1, String value2) {
            addCriterion("specialty not between", value1, value2, "specialty");
            return (Criteria) this;
        }

        public Criteria andPhoneIsNull() {
            addCriterion("phone is null");
            return (Criteria) this;
        }

        public Criteria andPhoneIsNotNull() {
            addCriterion("phone is not null");
            return (Criteria) this;
        }

        public Criteria andPhoneEqualTo(String value) {
            addCriterion("phone =", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotEqualTo(String value) {
            addCriterion("phone <>", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneGreaterThan(String value) {
            addCriterion("phone >", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("phone >=", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLessThan(String value) {
            addCriterion("phone <", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLessThanOrEqualTo(String value) {
            addCriterion("phone <=", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLike(String value) {
            addCriterion("phone like", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotLike(String value) {
            addCriterion("phone not like", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneIn(List<String> values) {
            addCriterion("phone in", values, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotIn(List<String> values) {
            addCriterion("phone not in", values, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneBetween(String value1, String value2) {
            addCriterion("phone between", value1, value2, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotBetween(String value1, String value2) {
            addCriterion("phone not between", value1, value2, "phone");
            return (Criteria) this;
        }

        public Criteria andTalentStateIsNull() {
            addCriterion("talent_state is null");
            return (Criteria) this;
        }

        public Criteria andTalentStateIsNotNull() {
            addCriterion("talent_state is not null");
            return (Criteria) this;
        }

        public Criteria andTalentStateEqualTo(Long value) {
            addCriterion("talent_state =", value, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateNotEqualTo(Long value) {
            addCriterion("talent_state <>", value, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateGreaterThan(Long value) {
            addCriterion("talent_state >", value, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateGreaterThanOrEqualTo(Long value) {
            addCriterion("talent_state >=", value, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateLessThan(Long value) {
            addCriterion("talent_state <", value, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateLessThanOrEqualTo(Long value) {
            addCriterion("talent_state <=", value, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateIn(List<Long> values) {
            addCriterion("talent_state in", values, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateNotIn(List<Long> values) {
            addCriterion("talent_state not in", values, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateBetween(Long value1, Long value2) {
            addCriterion("talent_state between", value1, value2, "talentState");
            return (Criteria) this;
        }

        public Criteria andTalentStateNotBetween(Long value1, Long value2) {
            addCriterion("talent_state not between", value1, value2, "talentState");
            return (Criteria) this;
        }

        public Criteria andIdPhotoIsNull() {
            addCriterion("id_photo is null");
            return (Criteria) this;
        }

        public Criteria andIdPhotoIsNotNull() {
            addCriterion("id_photo is not null");
            return (Criteria) this;
        }

        public Criteria andIdPhotoEqualTo(String value) {
            addCriterion("id_photo =", value, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoNotEqualTo(String value) {
            addCriterion("id_photo <>", value, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoGreaterThan(String value) {
            addCriterion("id_photo >", value, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoGreaterThanOrEqualTo(String value) {
            addCriterion("id_photo >=", value, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoLessThan(String value) {
            addCriterion("id_photo <", value, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoLessThanOrEqualTo(String value) {
            addCriterion("id_photo <=", value, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoLike(String value) {
            addCriterion("id_photo like", value, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoNotLike(String value) {
            addCriterion("id_photo not like", value, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoIn(List<String> values) {
            addCriterion("id_photo in", values, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoNotIn(List<String> values) {
            addCriterion("id_photo not in", values, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoBetween(String value1, String value2) {
            addCriterion("id_photo between", value1, value2, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andIdPhotoNotBetween(String value1, String value2) {
            addCriterion("id_photo not between", value1, value2, "idPhoto");
            return (Criteria) this;
        }

        public Criteria andExperienceIsNull() {
            addCriterion("experience is null");
            return (Criteria) this;
        }

        public Criteria andExperienceIsNotNull() {
            addCriterion("experience is not null");
            return (Criteria) this;
        }

        public Criteria andExperienceEqualTo(String value) {
            addCriterion("experience =", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceNotEqualTo(String value) {
            addCriterion("experience <>", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceGreaterThan(String value) {
            addCriterion("experience >", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceGreaterThanOrEqualTo(String value) {
            addCriterion("experience >=", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceLessThan(String value) {
            addCriterion("experience <", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceLessThanOrEqualTo(String value) {
            addCriterion("experience <=", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceLike(String value) {
            addCriterion("experience like", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceNotLike(String value) {
            addCriterion("experience not like", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceIn(List<String> values) {
            addCriterion("experience in", values, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceNotIn(List<String> values) {
            addCriterion("experience not in", values, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceBetween(String value1, String value2) {
            addCriterion("experience between", value1, value2, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceNotBetween(String value1, String value2) {
            addCriterion("experience not between", value1, value2, "experience");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNull() {
            addCriterion("project_id is null");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNotNull() {
            addCriterion("project_id is not null");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualTo(Long value) {
            addCriterion("project_id =", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualTo(Long value) {
            addCriterion("project_id <>", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThan(Long value) {
            addCriterion("project_id >", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualTo(Long value) {
            addCriterion("project_id >=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThan(Long value) {
            addCriterion("project_id <", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualTo(Long value) {
            addCriterion("project_id <=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdIn(List<Long> values) {
            addCriterion("project_id in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotIn(List<Long> values) {
            addCriterion("project_id not in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdBetween(Long value1, Long value2) {
            addCriterion("project_id between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotBetween(Long value1, Long value2) {
            addCriterion("project_id not between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andGenderIsNull() {
            addCriterion("gender is null");
            return (Criteria) this;
        }

        public Criteria andGenderIsNotNull() {
            addCriterion("gender is not null");
            return (Criteria) this;
        }

        public Criteria andGenderEqualTo(String value) {
            addCriterion("gender =", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotEqualTo(String value) {
            addCriterion("gender <>", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderGreaterThan(String value) {
            addCriterion("gender >", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderGreaterThanOrEqualTo(String value) {
            addCriterion("gender >=", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLessThan(String value) {
            addCriterion("gender <", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLessThanOrEqualTo(String value) {
            addCriterion("gender <=", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLike(String value) {
            addCriterion("gender like", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotLike(String value) {
            addCriterion("gender not like", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderIn(List<String> values) {
            addCriterion("gender in", values, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotIn(List<String> values) {
            addCriterion("gender not in", values, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderBetween(String value1, String value2) {
            addCriterion("gender between", value1, value2, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotBetween(String value1, String value2) {
            addCriterion("gender not between", value1, value2, "gender");
            return (Criteria) this;
        }

        public Criteria andSigningStateIsNull() {
            addCriterion("signing_state is null");
            return (Criteria) this;
        }

        public Criteria andSigningStateIsNotNull() {
            addCriterion("signing_state is not null");
            return (Criteria) this;
        }

        public Criteria andSigningStateEqualTo(String value) {
            addCriterion("signing_state =", value, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateNotEqualTo(String value) {
            addCriterion("signing_state <>", value, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateGreaterThan(String value) {
            addCriterion("signing_state >", value, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateGreaterThanOrEqualTo(String value) {
            addCriterion("signing_state >=", value, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateLessThan(String value) {
            addCriterion("signing_state <", value, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateLessThanOrEqualTo(String value) {
            addCriterion("signing_state <=", value, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateLike(String value) {
            addCriterion("signing_state like", value, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateNotLike(String value) {
            addCriterion("signing_state not like", value, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateIn(List<String> values) {
            addCriterion("signing_state in", values, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateNotIn(List<String> values) {
            addCriterion("signing_state not in", values, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateBetween(String value1, String value2) {
            addCriterion("signing_state between", value1, value2, "signingState");
            return (Criteria) this;
        }

        public Criteria andSigningStateNotBetween(String value1, String value2) {
            addCriterion("signing_state not between", value1, value2, "signingState");
            return (Criteria) this;
        }

        public Criteria andNosignReasonIsNull() {
            addCriterion("nosign_reason is null");
            return (Criteria) this;
        }

        public Criteria andNosignReasonIsNotNull() {
            addCriterion("nosign_reason is not null");
            return (Criteria) this;
        }

        public Criteria andNosignReasonEqualTo(String value) {
            addCriterion("nosign_reason =", value, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonNotEqualTo(String value) {
            addCriterion("nosign_reason <>", value, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonGreaterThan(String value) {
            addCriterion("nosign_reason >", value, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonGreaterThanOrEqualTo(String value) {
            addCriterion("nosign_reason >=", value, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonLessThan(String value) {
            addCriterion("nosign_reason <", value, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonLessThanOrEqualTo(String value) {
            addCriterion("nosign_reason <=", value, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonLike(String value) {
            addCriterion("nosign_reason like", value, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonNotLike(String value) {
            addCriterion("nosign_reason not like", value, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonIn(List<String> values) {
            addCriterion("nosign_reason in", values, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonNotIn(List<String> values) {
            addCriterion("nosign_reason not in", values, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonBetween(String value1, String value2) {
            addCriterion("nosign_reason between", value1, value2, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andNosignReasonNotBetween(String value1, String value2) {
            addCriterion("nosign_reason not between", value1, value2, "nosignReason");
            return (Criteria) this;
        }

        public Criteria andWorkStateIsNull() {
            addCriterion("work_state is null");
            return (Criteria) this;
        }

        public Criteria andWorkStateIsNotNull() {
            addCriterion("work_state is not null");
            return (Criteria) this;
        }

        public Criteria andWorkStateEqualTo(Long value) {
            addCriterion("work_state =", value, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateNotEqualTo(Long value) {
            addCriterion("work_state <>", value, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateGreaterThan(Long value) {
            addCriterion("work_state >", value, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateGreaterThanOrEqualTo(Long value) {
            addCriterion("work_state >=", value, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateLessThan(Long value) {
            addCriterion("work_state <", value, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateLessThanOrEqualTo(Long value) {
            addCriterion("work_state <=", value, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateIn(List<Long> values) {
            addCriterion("work_state in", values, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateNotIn(List<Long> values) {
            addCriterion("work_state not in", values, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateBetween(Long value1, Long value2) {
            addCriterion("work_state between", value1, value2, "workState");
            return (Criteria) this;
        }

        public Criteria andWorkStateNotBetween(Long value1, Long value2) {
            addCriterion("work_state not between", value1, value2, "workState");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}